From 102cd68e625846f10848a0e19541bea9e2fc5a87 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 18 Mar 2008 15:51:19 +0000 Subject: [PATCH] vfb: Add opengl option (and replace bogus vncpasswd copy in xenapi_create in the SDL case) Signed-off-by: Samuel Thibault --- tools/python/xen/xend/XendConfig.py | 2 +- tools/python/xen/xend/image.py | 4 +++- tools/python/xen/xend/server/vfbif.py | 2 +- tools/python/xen/xm/create.py | 6 +++--- tools/python/xen/xm/xenapi_create.py | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/python/xen/xend/XendConfig.py b/tools/python/xen/xend/XendConfig.py index 09a0cb3013..0855f01c12 100644 --- a/tools/python/xen/xend/XendConfig.py +++ b/tools/python/xen/xend/XendConfig.py @@ -165,7 +165,7 @@ XENAPI_PLATFORM_CFG_TYPES = { # Xen API console 'other_config' keys. XENAPI_CONSOLE_OTHER_CFG = ['vncunused', 'vncdisplay', 'vnclisten', 'vncpasswd', 'type', 'display', 'xauthority', - 'keymap'] + 'keymap', 'opengl'] # List of XendConfig configuration keys that have no direct equivalent # in the old world. diff --git a/tools/python/xen/xend/image.py b/tools/python/xen/xend/image.py index 0a5b2efdf4..cf76e53c29 100644 --- a/tools/python/xen/xend/image.py +++ b/tools/python/xen/xend/image.py @@ -202,6 +202,7 @@ class ImageHandler: vnc_config = {} has_vnc = int(vmConfig['platform'].get('vnc', 0)) != 0 has_sdl = int(vmConfig['platform'].get('sdl', 0)) != 0 + opengl = 1 for dev_uuid in vmConfig['console_refs']: dev_type, dev_info = vmConfig['devices'][dev_uuid] if dev_type == 'vfb': @@ -209,6 +210,7 @@ class ImageHandler: if vfb_type == 'sdl': self.display = dev_info.get('display', {}) self.xauthority = dev_info.get('xauthority', {}) + opengl = int(dev_info.get('opengl', opengl)) has_sdl = True else: vnc_config = dev_info.get('other_config', {}) @@ -263,7 +265,7 @@ class ImageHandler: elif has_sdl: # SDL is default in QEMU. - if int(vmConfig['platform'].get('opengl', 1)) != 1 : + if int(vmConfig['platform'].get('opengl', opengl)) != 1 : ret.append('-disable-opengl') else: ret.append('-nographic') diff --git a/tools/python/xen/xend/server/vfbif.py b/tools/python/xen/xend/server/vfbif.py index 91787dcf3a..a79f50f019 100644 --- a/tools/python/xen/xend/server/vfbif.py +++ b/tools/python/xen/xend/server/vfbif.py @@ -7,7 +7,7 @@ import os CONFIG_ENTRIES = ['type', 'vncdisplay', 'vnclisten', 'vncpasswd', 'vncunused', 'display', 'xauthority', 'keymap', - 'uuid', 'location', 'protocol'] + 'uuid', 'location', 'protocol', 'opengl'] class VfbifController(DevController): """Virtual frame buffer controller. Handles all vfb devices for a domain. diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py index 745f0efc59..e61f4ba09a 100644 --- a/tools/python/xen/xm/create.py +++ b/tools/python/xen/xm/create.py @@ -319,7 +319,7 @@ gopts.var('irq', val='IRQ', For example 'irq=7'. This option may be repeated to add more than one IRQ.""") -gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD", +gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD,opengl=1", fn=append_value, default=[], use="""Make the domain a framebuffer backend. The backend type should be either sdl or vnc. @@ -330,7 +330,7 @@ gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,dis default password. For type=sdl, a viewer will be started automatically using the given DISPLAY and XAUTHORITY, which default to the current user's - ones.""") + ones. OpenGL will be used by default unless opengl is set to 0.""") gopts.var('vif', val="type=TYPE,mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT," + \ "backend=DOM,vifname=NAME,rate=RATE,model=MODEL,accel=ACCEL", @@ -645,7 +645,7 @@ def configure_vfbs(config_devs, vals): d['type'] = 'sdl' for (k,v) in d.iteritems(): if not k in [ 'vnclisten', 'vncunused', 'vncdisplay', 'display', - 'xauthority', 'type', 'vncpasswd' ]: + 'xauthority', 'type', 'vncpasswd', 'opengl' ]: err("configuration option %s unknown to vfbs" % k) config.append([k,v]) if not d.has_key("keymap"): diff --git a/tools/python/xen/xm/xenapi_create.py b/tools/python/xen/xm/xenapi_create.py index 9c16376955..68f2b8dd35 100644 --- a/tools/python/xen/xm/xenapi_create.py +++ b/tools/python/xen/xm/xenapi_create.py @@ -810,7 +810,7 @@ class sxp2xml: get_child_by_name(image, "vxauthority", "127.0.0.1"), document)) console.appendChild(self.mk_other_config( - "vncpasswd", get_child_by_name(image, "vncpasswd", ""), + "opengl", get_child_by_name(image, "opengl", "1"), document)) consoles.append(console) -- 2.30.2